home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / fish / 726-750 / 732 / pstools / graphics.txt next >
Text File  |  1995-03-18  |  33KB  |  723 lines

  1. V0.15
  2.  
  3.  
  4.             GRAPHICS OVERVIEW
  5.  
  6. Scanner - Device for inputting images from photographs newspapers ect.
  7.  
  8. Character scanner - Device for reading text and converting it to 
  9. askii without having to retype it. 
  10.  
  11. Digitizer - Device which takes video and turns it into computer
  12. compatable data ie framegrabber, note some devices can input there
  13. data straight into Art Department Professional.
  14.  
  15. RGB Spliter - Device which takes the output from a colour camera
  16. and splits it into red green blue signals for input to a digitiser.
  17. If you with to obtain colour from a black and white camera red green
  18. and blue filers are used to split the image instead.
  19.  
  20. Genlock - Everyone knows that a genlock overlays computer graphics
  21. onto an external video source, but how does it actually work?
  22. Well, believe it or not, the actual process of overlaying or keying
  23. as it should be called is actually a very minor function of the genlock.
  24.    Genlocks carry out three basic functions, they code, genlock and key
  25. video siganls. Coding is a process whereby the RGB output from
  26. the amiga is converted into either PAL composite or Super VHS format,
  27. depending on your individual requirements. If all you want to do is to 
  28. record the output from the amiga onto videotape, then a coder is all that
  29. you will need. However for true desktop video, the genlock's second
  30. and third functions come into their own.
  31.    Genlocking itself is not the process which allows a computer's graphics
  32. to be superimposed onto video. Infact, genlocking is the process where two
  33. separate video signals are synchronised internally at sync pulse level,
  34. bringing them in time with each other. Without this all important process,
  35. it would be impossible to combine the two signals. Keying is a process
  36. whereby the video image completely replaces certain parts of the computer
  37. image.
  38. The genlock doesn't look for a certain colour when keying the signal,
  39. you could have two identical blacks in the signal with only one being
  40. keyed, for example. Instead, keying works at colour register level.
  41. Most genlocks allow only colour register zero to be used as the key
  42. colour, but more professional units allow you to change this.
  43.  
  44. Multisync - Televisions and normal monitors operate on a fixed frequency.
  45. The frequency is described in two components: the verticla frequency,
  46. which is the number of frames displayed per second, and the horizontal
  47. frequency, which is the number of horizontal lines displayed per
  48. second.
  49.    Standard PAL televisions have a vertical frequency of 50hz and a 
  50. horizontal frequency of around 15.6khz. The amiga output is identical
  51. to this, to allow the amiga to display all video modes on the same monitor
  52. unlike the atari st. With these fixed values, the number of lines that
  53. can be displayed in one frame is limited to around 300.
  54.    A multisync monitor can accept a wide range of vertical and horizontal
  55. frequencies, typically 50 hz to 70 hz vertical and 15.5khz to 35khz
  56. horizontal frequency, we can get all 512 lines of our hi-res display
  57. in one frame, resulting in no flicker. De-interlacer cards work by
  58. providing an output at these frequencies that the multisync can display.
  59.  
  60. Resolution - This is the smallest detail which can be seen. On IBM's
  61. the graphics cards are options, they are CGA low definition, EGA medium 
  62. definition, VGA high definition, and supervga. The amiga has many
  63. resolution modes
  64.  
  65. AMIGA:-
  66.  
  67. 320 * 200 pixels with 32/64 colours (lo-res) (or 4096 colours in HAM)
  68. 320 * 400 pixels with 32/64 coloures (med-res)
  69. 640 * 200 pixels with 16 colours (hi-res)
  70. 640 * 400 pixels with 16 colours
  71. 720 * 480 overscan
  72. 640 * 256 pixels with 16 colours (hi-res)
  73. 640 * 512 pixels with 16 colours (hi-resint)
  74. 1280 * 256 pixels with 4 colours (super hi-res)
  75. 1280 * 512 pixels with 4 colours (supr hi-resint)
  76. 640 * 480 pixels with 4 colours (productivity)
  77. 640 * 960 pixels with 4 colours (product-interlaced)
  78. 1008 * 800 pixels with 4 grayscales (A2024_10hz)
  79. 1008 * 800 pixels with 4 grayscales (A2024_15hz)
  80. ???? * ???? pixels with 16700000colours (24bit)
  81.  
  82. IBM:-
  83.  
  84. Hercules            black and white
  85. MDA monocrome display adapter
  86. CGA colour graphics adapter
  87. EGA enhanced graphics adapter   640 * 350 16 colours
  88. VGA very good adapter        640 * 480    16 colours
  89. ProVGA                800 * 600    16 colours
  90. SVGA super very good        1024 * 768    256 colours
  91.  
  92. UNIX 1280 * 1024 65536 colours
  93.  
  94.    Persistance - Is the amount of time it takes for an image to disappear.
  95. Again there are three levels short medium and long.
  96.  
  97.    PAL - Again three types, this time its the colour decoding system.
  98. Pal (phase alternate line), is used in northern europe and australia.
  99. NTSC in America and Japan and SECAM in southern europe and Russia.
  100. MAC is a new system which may one day replace the rest.
  101.  
  102.    Phosper - This is one dot on the screen (screen resolution). A pixel
  103. is the smallest spot which the system can display (graphics resolution).
  104.  
  105.    WIMP - Menu driven displays: these consist of menus which may be
  106. 31 across 63 down and have 31 subitems, they can be manually programmed
  107. or semiautomatically with powerwindows. Gadgets are part of this system,
  108. there are three types; boolian, which are like on/off switches,
  109. proportional which are sliders or knobs like volume controls, and
  110. string which require the user to enter text or figures.
  111. See a programming manual for more information. Graphics can be imported
  112. into menus and gadgets.
  113.  
  114.    IFF (interchange file format) Locked to 75 dpi The idea is for any file
  115. from any program to be loaded into any other. There are standards for text, 
  116. sound and graphics, the graphics can be low medium or high resolution
  117. to accomodate the three types of monitor. Each iff file consists of
  118. a header which retains all the information that informs the program of
  119. data found in its file as well as type of data. It will also have chunks.
  120. Chunks are blocks of data that contain groups of data. For example, an
  121. iff file containing music data has a chunk outlining the parameters of
  122. each musical voice's sound capabilities. A graphic iff file has a colour 
  123. chunk in which it stores all the colour data needed for the graphic.
  124. Chunks provide the developer with a system of data building blocks.
  125.  
  126.    EPS Encapsulated postscript file. This is a picture file in text
  127. used to transport graphics from one platform to another, object or raster.
  128.  
  129.    PICT AppleMac B & W picture file vector type (object).
  130.  
  131.    PICT2 AppleMac colour picture file vector type
  132.  
  133. PIC File Format:
  134. The PIC format will support bits per pixels of 1, 4 and 8.
  135.  
  136. MAC file Format:
  137. The MAC format supports only 1 bit per pixel, at a resolution of 72 dpi. 
  138. MAC files come from the Macintosh program MacPaint.
  139. Mac pictures are very specific. They must have a width of 576 and a height
  140. of 720, and are black and white. Mac pictures should have a white background.
  141. Since Macintoshes were originally only black and white there is a large
  142. selection of clipart that is saved in the MAC file format. 
  143.  
  144.    CGM Computer graphic metafile vector graphic type
  145.  
  146.    GEM vector graphic type
  147.  
  148.    IMG bitmap image type Digital Research Image File
  149. The IMG format will support bits per pixels of 1, 4 and 8.
  150. IMG files were designed to work with the GEM environment. The files were
  151. originally the result of GEM Paint. Since the application Ventura Publisher
  152. worked in the GEM environment, it too supported the IMG file format.
  153. In order to maintain compatibility, various other desktop publishing
  154. applications have added support for the importing and exporting of this format.
  155. There are 2 types of IMG files: "Old-style" and "New-style".
  156.  
  157.    SCITEX Separate CMYK components file
  158.  
  159.    WMF MSDOS Windows metafile vector graphic tupe
  160.  
  161. BMP File Format:
  162.  
  163. The BMP format will support bits per pixels of 1, 4, 8 and 24.
  164. The BMP files come in 2 different formats. These formats will be referred to
  165. as Windows and OS2, these files tend to be very large.
  166. OS2 BMPs were the first of the two different formats designed. The pictures
  167. that are saved using this format may be used with the OS2's Presentation
  168. Manager. An enhanced BMP file format was released with Microsoft Windows.
  169. This is the reason for the reference to Windows and OS2 BMP formats.
  170. BMP files can be used as "wallpaper" for the background when running in Windows. See your Windows documentation on how to use a BMP file as wallpaper.
  171. Within the Windows BMP format, two different types of encoding can be used.
  172. These are RGB and RLE. The OS2 format only supports one type of encoding, RGB.
  173. Files that use the RGB encoding scheme have no compression done. The data that
  174. makes up the picture is simply saved to a file. This makes for some very large
  175. BMP files.
  176. The RLE (run length encoding) scheme does some compression of the data that
  177. makes up the picture. The RLE encoding is further broken down into 2
  178. different formats; RLE4 and RLE8. RLE4 is the RLE compression routine used for
  179. picture data of 16 or less colors. RLE8 is the compression routine that is
  180. use for pictures of 17 to 256 colors.
  181.  
  182.  
  183.  
  184.    JPEG Joint Photographic Experts Group compression standard, compresses
  185. graphics upto 90 percent reduction but looses data on the first compression
  186.  
  187.    RENDITION Format created by Numerical Designs. A 24bit 3D rendering
  188. language.
  189.  
  190.    SUNRASTER 1 8 24 and 32 bit writen by Sun Microsystems.
  191.  
  192.  
  193.    TIFF Tag Interchange File Format 24bit, 256 colour, grey scale
  194. The TIFF format will support bits per pixels of 1, 4, 8 and 24.
  195. The TIFF format was designed to become the standard format.
  196. In order to become the standard, the format was designed to handle just
  197. about any possibility. The result of this design was maximum flexibility in
  198. how a picture is saved. This results in an infinite number of possibilities
  199. of how a picture is saved. The best that an application can do is to
  200. support as many TIFFs as possible, but there will always be the an obscure
  201. TIFF that will cause a problem for some applications. 
  202. The TIFF format differentiates between types of pictures. These categories
  203. are: black and white, greyscaled and colored.
  204. The TIFF format can use one of six encoding routines. These encoding
  205. routines are: No-compression, Pack bits, LZW, Huffman, CITT 3 and CITT 4.
  206.  
  207.    GIF Compuserve colour map bitmap graphic
  208. The GIF format will support bits per pixels of 1, 4 and 8.
  209. GIF files were designed to create the smallest possible picture files for
  210. uploading and downloading from BBSs. There are 2 GIF file versions; 87a
  211. and 89a. Version 87a was the first of the two versions to appear. Version
  212. 89a added new features to the 87a format. Both of these versions may use
  213. an encoding method referred to as interlacing.
  214. Interlacing is when a picture is saved by using four passes instead of just
  215. one. On each pass certain lines of the picture are saved to the file.
  216. If the program decoding a GIF file displays the picture as it is decoded,
  217. the user will be able to see the four passes of the decoding cycle.
  218. This will allow the user to get a good idea of what the picture will look
  219. like before even half of the picture is decoded. Some communication programs
  220. allow the user to download GIF files and view them as they are downloaded.
  221. If the picture is interlaced, the user will be able to decide if the picture
  222. is one they like before half of the download is complete. If the user does
  223. not like the picture, the download can be aborted. This results in the
  224. saving of time and money for the person downloading the picture.
  225. NOTE: Some GIF files contain more than one picture.
  226.  
  227.    TARGA by True Vision Tarag 16 format contain 5bit per primary colour,
  228. and in Targa 32 contain 8 bit per primary colour. Files may be compressed.
  229.  
  230.   PCX Bitmap graphic 256 colours PC Paintbrush (very large files)
  231. The PCX format will support bits per pixels of 1, 4 and 8. PCX files were
  232. originally created for use with the Zsoft Paintbrush program. With no
  233. standard to the industry the format became the standard by default.
  234. This format is supported by more applications than any other format.
  235. There are 4 PCX file versions:
  236. Version 0 - Black and white pictures.
  237. Version 2 - 16 or less colors with palette information.
  238. Version 3 - 16 or less colors without palette information.
  239. Version 5 - 256 or less colors.
  240.  
  241.    Coreldraw vector graphic
  242.  
  243.    Expertdraw vector graphic
  244.  
  245.    Prodraw vector graphic There can be more than one picture in a file
  246.  
  247.    TNY Atari bitmap file
  248.  
  249. WPG File Format:
  250. The WPG format will support bits per pixels of 1 through 8.
  251. The WPG format is the format used by Word Perfect. It showed up with the
  252. release of Word Perfect 5.0. With the release of version 5.1 the format
  253. was changed. A WPG file may contain a picture made up of vector data or
  254. raster data.
  255.  
  256.    Degras Atari bitmap file
  257.  
  258.    Neocrome Atari bitmap file
  259.  
  260.    X11 Defied by X windowing system 1bit ( window dump & bitmap) 4 8 16
  261. 24 or 32 bits (window/z pixmap only).
  262.  
  263. Note it is normal for hi definition multi colour file to be huge
  264. 50 mbyts is not uncommon. These files are transported by removable
  265. hard drives, multi media drives, and streamer tapes. Also by
  266. network/modem transfers.
  267.  
  268.    Bitplanes
  269. A screens depth means how many bits are used for every pixel. The more
  270. bits the more combinations/colours.
  271. depth   number of colours     colour register number
  272. 1             2                     0 - 1
  273. 2             4                     0 - 3
  274. 3             8                     0 - 7
  275. 4         16                     0 - 15
  276. 5            32                     0 - 31 (only low res)
  277. A low resolution screen may even have a depth of 6 if using some
  278. special display modes (ham / extra halfbright.
  279. Each colour may be picked out of a 4096 colour palette.
  280. 8             256
  281.  
  282. 24 bit - 24 bits for each pixel allows for 16,777,216 colours to be
  283. displayed. So why stop at 24 bits: well if you were to take a camera and
  284. point it at the countryside, to represent that you wouldn't need 24
  285. bits of colour. There are probably only about 300,000 colours there, so
  286. you could easily do it in 18 bits. If on the other hand, you do a close-up of
  287. a human face, you've got many, many subtle gradations, all shades of the 
  288. same basic colour. If you want to represent all the different shades of
  289. a single colour you'll need eight bits, 256 different shades. Now,
  290. because each colour on a computer screen is made up of three primary
  291. colours - red, green, blue - to make sure you have those 256 shades of 
  292. each possible colour you need three times eight bits, which gives you 24
  293. bits.
  294.    So in effect, if you have 24-bit colour you are scientifically 
  295. assured of being able to represent every colour or shade of colour
  296. the human eye can perceive.
  297.  
  298.    Bitmap (or raster)
  299. At some time and in some place, our graphic must be entered into memory.
  300. The bit-map controls both when and where this will occur. Then this info
  301. is divided among different bit-planes. The mumber of bit-planes sets
  302. how many colours are located in the viewport and displayed by the bit-
  303. map. The more bit-planes there are, the more colours. The actual number
  304. of colours is calculated below:
  305.    number_of_colours=2^number_of_bitplanes
  306. The calculation is based on the way the planes are graphically layered on
  307. top of each other in the display (in memory they are actually stored one
  308. after another).
  309.    Each pixel is represented by one bit in every bit-plane. The combination
  310. of all set and unset bits of a pixel in all the bit-planes determines the
  311. number of the colour register. The pixel is then displayed in that colour.
  312.  
  313.    Vectored (Compugraphic) Images (or object)
  314. A vectored image is one which is built up of data, ie instead of 1st
  315. pixel equals colour 234, first line of image is one cm in; one cm down;
  316. start of bezier curve one radian. In other words its mathematical, the
  317. advantage being that no matter how large or small you want the image
  318. it can be redrawn perfectly with no jaggies. Prodraw can produce CG images.
  319.  
  320.    Rastport
  321. Almost all the graphic output is processed through the rastport structure
  322. because it contains the actual colour of the pixels, the drawing mode
  323. ect.
  324.  
  325.    Viewport
  326. This is where you determine the size of the creativity area, the display
  327. mode and the available colours. All of this data is sent to the viewport.
  328. This data is later used to create the copper list that the special copper
  329. coprocessor will use to construct your screen. A viewport is in other words
  330. an area of the screen one view port must be under another (2d plane on screen)
  331. and leave a space of at least one scan line.
  332.  
  333.    Dual Playfield
  334. By using the dual playfield mode, it is possible to display two bitmaps,
  335. with up to three bit-planes each, in a single viewport, these are displayed
  336. on top of each other.
  337.  
  338.    Interlace - This is used in video, an interlaced scan on your monitor
  339. or TV is composed of 312 1/2 lines which start at the top left hand corner
  340. and finish at the bottom dead center. The electron beam then goes to the
  341. top dead center and fills in the spaces inbetween. one period of 312 1/2 
  342. lines is a field which happed 25 times a second (in europe 30 in USA)
  343. and the second (making it 625 lines (525 in USA) both together are known
  344. as a frame. The reason it does this is because the early crt's in the
  345. 1940 1950's had poor persistance and the picture faded if they didnt.
  346. The info which separates the fields is called the equalisation pulse,
  347. which is in the video sync pulse chain. Am still trying to find out
  348. why they save it in interlace form. All you really nead to know is that
  349. interlace increases the screens definition in the vertical direction but
  350. on a normal monitor appears to flicker. You nead iether a high persistance
  351. monitor or a flicker corrector. Note the amiga's different resolution modes
  352. only operate in the horizontal direction, so a low-res normal picture has
  353. half the detail as a hi-res interlace picture (both planes).
  354.  
  355.    Ham - (hold and modify)  this format allowes 4096 colours as in photon
  356. paint.Hold and modify pixels take their colour from the pixel directly
  357. to the left. To determine the new colour, two of the colour components
  358. are used (hold) and a third colour component is modified (modify).
  359.  
  360.    Extra halfbright - 
  361. The Amiga display hardware automatically enters Extra-Half-Brite mode
  362. whenever you select a 6 plane display (which must be low res due to the
  363. hardware) and have NOT selected either Hold and Modify or Dual Playfield
  364. mode.
  365.  
  366. The graphics kernel software further enforces the rule that you must set
  367. the EXTRA_HALFBRITE flag in the ViewModes for the ViewPort (Screen in
  368. Intution lingo) or it will automatically trim your screen down to 5 planes.
  369. This is done both for backward compatability and to insure support in
  370. future Amiga architectures.
  371.  
  372. Consider the playfield data bits for a given pixel.  The bits from the
  373. first five planes form a color register selector for that pixel, allowing
  374. you to choose among the 32 color registers in the Amiga.  The bit from the
  375. sixth plane is interpreted as follows:
  376.  
  377.   0 -- Use the color in the selected color register just as specified.
  378.  
  379.   1 -- Take the color in the selected color register, shift each of its R,
  380. G, and B components right one bit, and use the new color value thus formed.
  381.  
  382. The net result is as if you had 64 color registers where the colors in the
  383. top 32 were "half-intensity" counterparts of the colors in the bottom 32!
  384.  
  385. Of course, that means there is a dependency between the choice of colors in
  386. the 32 real registers and the resulting colors in the 32 psuedo-registers.
  387. Nevertheless, I assert we have as much right to claim 64 colors on screen
  388. as IBM has to claim 16 colors from a monitor that is physically capable of
  389. producing only 8 colors at 2 intensities!  At least we can select our 32
  390. colors out of a pallatte of 4096!
  391.  
  392. Note also that, since fractional color components have no meaning in the
  393. hardware, there are several distinct real colors that produce the same
  394. extra color.  For instance (in hex):
  395.  
  396.   888 --> 444,    988 --> 444,   898 --> 444,   999 --> 444,  etc.
  397.  
  398. Despite all this quibbling, with a little thought it's easy to see how you
  399. can choose a set of 32 real colors to make sure all 64 real plus extra
  400. colors are distinct.  And they are every-pixel-addressable!
  401.  
  402. Why have we kept this little jewel a secret?  No, it's not that we were
  403. planning to lull the competition into complacency and then spring an
  404. instant double of the Amiga's color capacity on them.
  405.  
  406. Not all Amiga 1000s have Extra Half Bright mode.  All Amiga 500s and 2000s
  407. have it.
  408.  
  409. This revision of the Amiga chipset occurred after the Amiga Hardware manual
  410. was written, so it is not discussed there.  Note that you can't hurt
  411. anything by running such a program on an older machine -- the values in the
  412. 6th bit plane will simply be ignored.  Color printing of Extra Half Bright
  413. mode should work on AmigaDOS 1.1 and 1.2.
  414.  
  415.  
  416.  
  417.    ILMB - (interleaved bitmap) As in d_paint; It consists of the form
  418. which makes up a large part of an iff graphic file. This form combines
  419. many chunks into a single file, and because all of the chunks belong
  420. to one graphic file, they are packed. The form contains a
  421. single item of information: the length of the data file and the data
  422. type. Next comes the labeling of the ilbm format. The file length then
  423. the four letters ilbm indicate the particular format. The individual
  424. chunks of the data file follow.
  425.    BMHD (bitmapheader) this chunk contains the data
  426. that cover the formal attributes of the graphic. It is handled as a
  427. structure that is important later for opening the screen, because
  428. it acts as a storage space for measurements, depth and other values.
  429. 2 chunk length
  430. 3 graphic width in pixels
  431. 4 graphic hieght in pixels
  432. 5 x pos og graphic
  433. 6 y pos of graphic
  434. 7 no. of bitplanes
  435. 8 masking
  436. 9 crunch type
  437. 10 ?
  438. 11 transparent colour
  439. 12 x aspect
  440. 13 y aspect
  441. 14 screen width in pixels
  442. 15 screen height in pixels
  443.  
  444. CMAP (colourmap) each colour register stores three byte values 
  445. (red, green, blue)
  446. 2 chunk length
  447. 3 colour 0 red value *255
  448. 4 colour 0 green value *255
  449. 5 colour 0 blue value *255
  450. 6 colour 1 red value *255
  451.  
  452. CRNG (colourrang) Its possible to cycle through a colour region
  453. creating very interesting effects. The CRNG chunk supports this
  454. function.
  455. 2 chunk length
  456. 3 0 (unused)
  457. 4 speed
  458. 5 active/inactive
  459. 6 lower colour
  460. 7 upper colour
  461.  
  462.  
  463. CCRT (colour cycling range and timing) The ccrt chunk also controls colour
  464. cycling. Both chunks are treated by independent tasks, depending on the
  465. manufacturer. Commodore graphicraft uses the ccrt chunk, while deluxepaint
  466. used the crng chunk
  467. 2 chunk length
  468. 3 direction
  469. 4 starting colour
  470. 5 ending colour
  471. 6 seconds
  472. 7 microseconds
  473.  
  474. GRAB (grab position) The grab chunk indicates the relative position of
  475. the cursor. This is useful for placing brushes which can be placed at
  476. any point on the screen.
  477.  
  478. DEST (destination bitplanes) This chunk allows placement of the
  479. available bit-planes of the body chunk in other bit-planes of the graphic
  480.  
  481. SPRT (sprite) sprites can also be saved in ilbm files with the help of 
  482. this chunk. The chunks single value designates the precedence of
  483. the sprite. The value 0 represents highest precedence. The higher the
  484. value, the lower the sprite precedence. The sprite with the highest
  485. precedence is graphically placed ahead of all others.
  486.  
  487. CAMG (commodore amiga computer) Unlike the other computers that
  488. have iff file systems, the amiga includes a set of viewmodes. These
  489. display modes include ham and interlace mode. A new chunk (camg)
  490. compensates for the support not given by normal iff ilbm chunks
  491. The CAMG chunk contains only the viewmode register.
  492.  
  493. BODY (all Bit-planes and the Optional mask interleaveD bY row)
  494. The body chunk contains the bit-map the most important section of
  495. the if graphic file. This chunk operates under certain rules set by
  496. the other data.
  497. 2hunk length
  498. 3 1st line of first bitplane (for eventual packing see BMHD above)
  499. 1st line of second bitplane
  500. 1st line of 3rd bitplane
  501. 2nd line of 1st bitplane
  502. ect
  503.  
  504.    ANMB - Animated bitmap delux video
  505. FSQN - playback sequence information
  506.  
  507.    ANIM -  form type for animations developed by aegis
  508. ANHD - animated header chunk
  509. DLTA - delat mode data
  510.  
  511.    ACBM - (Amiga basic contiguous bitmap) The main file is very similar to
  512. a standard picture file with the important difference: the bitplanes
  513. are stored in such a way only one amigados read/write is required per
  514. bitplane. This results in a substantial increase in speed for
  515. reading iff files from basic. To convert use the utilities on the
  516. extras disk.
  517. ABIT - non interleaved bitplanes
  518.  
  519.    FTXT - Is the iff text spec which is not often used, the two chunks
  520. supported by ftxt are chrs and fons.
  521.  
  522. FONS is the font specifier which indicates which font to use
  523.  
  524. CHRS This consists of the actual text.
  525.  
  526.    RAW - Contains all the bitplane data sequentialy. IFFconverter can
  527. produce raw data from iff code.
  528.  
  529.    SMUS - This format allows the exchange of musical compositions between
  530. music development applications.
  531.  
  532. SHDR Is the scoreheader chunk, the tempo variable of a piece of music
  533. is given in increments of a quarter note per 128 minutes.
  534.  
  535. NAME - name of the piece
  536.  
  537. C - copyright notice
  538.  
  539. AUTH - auth/composers name
  540.  
  541. IRev - other information ie revision
  542.  
  543. ANNO - comments (annotations)
  544.  
  545. INS1 - data about the instrument to be used, but not the tuning.
  546. 2 register contains no. of instrument
  547. 3 type instrument name (type=0), or midi channel (type=1).
  548. 4 data1 midi only channel number
  549. 5 data2 midi only preset
  550.  
  551. type - specify instrument name (type=0), or midi (type=1)
  552.  
  553. TRAK - contains the notes the be played, each entry is two bytes long.
  554. The first byte specifies how the second byte should be interpreted.
  555.  
  556. SAMPLER - Device to convert sound to computer input
  557.  
  558. MIDI - Musical instrument digital interface, device which allows a
  559.        computer to control musical instruments.
  560.  
  561.    8SVX - The 8SVX format is used for the open exchange of digitized
  562. sounds between sampler/sound digitizing applications.
  563.  
  564. VHDR - the vhdr chunk contains a voice8header
  565.  
  566. NAME -  sound name.
  567.  
  568. C - copyright notice.
  569.  
  570. AUTH - auther
  571.  
  572. ANNO - comments
  573.  
  574. ATAK - contains egpoint structure which allows you to control the attack of
  575. the sound.
  576.  
  577. RLSE - information for controling the delay
  578.  
  579. BODY - contains the sample.
  580.  
  581.    Viewport - A window in the current screen
  582.  
  583.    Rasport - The current screen
  584.  
  585.  
  586.    Fonts - There are two types of font; in a simple font each size of 
  587. charactor has a different file. In a proportional type the charactor
  588. is re-calculated as it is enlarged so as not to display rough edges.
  589.    The topaz font is default and stored in rom, the rest are disk fonts.
  590. All fonts can be italic (the top half of the chr is pushed to the right).
  591. Underlined or bold (the chrs are displayed and re-displayed pushed to
  592. the right. The font header informs the machine how many fonts it has
  593. in each type. ie.opal will say two because it only has two sizes,
  594. therefore if you were to make a third you must change this data.
  595.  
  596.    Icons -  An icon is a small image with a icon header. There are six
  597. types:-
  598. trashcan - deletes a file.
  599. disk  - disk icon ie workbench
  600. tool  - starts a program
  601. project - (files) are of the same general design as the tools (programs)
  602. used to create them.. Double-clicking a project icon opens the tool
  603. used to create that file, then the project itself.
  604. drawer - directory icon which opens a window containing more icons
  605. icons can be manipulate by icon master
  606. kickstart - kickstart diskette (1000 only)
  607.  
  608.    Brush - This is an image which can be easily manipulated, it is
  609. the most transportable of all images. Type of ilbm, see ilbm notes above.
  610.  
  611.    Bob - (Blitter OBjects [shapes]) Graphic elements (GELS) used in
  612. programming, software sprites. They can be any size but there width must
  613. be a multiple of 16.
  614.  
  615.   Vsprite - (virtual visible hardware type) Gels Image used in programming,
  616. you are limited to eight of these. Type of ilbm there different SPRT codes
  617. allow one sprite to move behind another in a game. The amiga has eight
  618. sprites four in overscan mode and either one playfield containing up to six
  619. bitplanes or two playfields in dual playfield mode containing up to three
  620. bitplanes each. They can only be 16 pixels wide but any height and have three
  621. colours, the mouse pointer is a hardware sprite. Hardware as there are 8
  622. register channels for them. IFFconverter can create them from iff format.
  623. vsprites are used for animation an ordinary sprite which is hardware sprite
  624. (for the eight hardware dma channels) cannot and is not a Gel.
  625.  
  626. The blitter comprises part of the Agnes chip in the Amiga, and can only
  627. access CHIP memory.  (CHIP memory is the lower 512K of memory in the
  628. current Amiga models, but this may change.)  To the 68000, it appears as a
  629. set of approximately twenty sixteen bit write only registers.  It can
  630. access memory at 7.2 megabytes per second, or twice the bandwidth of
  631. the 68000 (although, as we shall see, it doesn't always run this fast.)
  632. Any video memory accesses can slow the blitter down, whether for
  633. screen refresh or for the 68000.  For instance, the standard two bit
  634. deep high resolution workbench screen can slow the blitter down by
  635. approximately 30\%.  A low resolution single bit plane screen can slow it
  636. down by about 8\%.  A high resolution four bit plane screen can slow down
  637. the blitter by about 60\%.  The blitter is so fast, however, that even
  638. with this handicap it performs its tasks many times faster than the 68000.
  639.  
  640. The first thing a programmer of this chip must realize is that
  641. the Amiga blitter is not a `bit' blitter; rather, it operates on words.
  642. This fact must be kept in mind when programming the blitter.
  643. With the appropriate programming, it can manipulate arbitrary rectangles
  644. of bits.
  645.  
  646. The blitter uses four DMA channels to perform its work; these are labeled
  647. A, B, and C (sources) and D (destination).  Any or all of them may be
  648. disabled independently.  The destination can be calculated from any of
  649. 256 possible logical equations on A, B, and C.  The A and B sources can
  650. be shifted up to 15 bits to the right, and the first and last word in a
  651. line from the A source can be masked by a constant.  Each of the four
  652. channels has its own modulo.  The blitter also has an area fill and a
  653. line draw mode.
  654.  
  655. \section Getting Access\\
  656.  
  657. There are currently four ways you can use the blitter.  Some work better
  658. than others.  The first way is to use the standard ROM Kernel routines
  659. for graphics.  This is the simplest and most reliable method; future
  660. blitters and operating systems will not disrupt your code.  I am not
  661. going to discuss this approach here, because I don't want to, and all of
  662. that information is in the ROM Kernel Manuals.  The second method is
  663. to arbitrarily write to the blitter registers, ignoring Intuition
  664. and friends.  This is a good way to make enemies; you can trash disks
  665. as well as system memory, but it makes for good laughs on those slow
  666. winter nights.  Just pop some random values into those blitter registers,
  667. and watch the pyrotechnics fly!
  668.  
  669. The third method is a variation of the second, but you politely request
  670. permission from the system first, by calling \b OwnBlitter().  This routine
  671. notifies the Amiga that you want exclusive access to the blitter, and you
  672. don't want anyone else playing with it.  After this
  673. call returns, you can almost use the blitter.  Unfortunately, someone
  674. else may have already given the blitter something to do that hasn't completed;
  675. therefore, you should call \b WaitBlit() before actually mucking with
  676. the registers.  This second routine blocks until the blitter is actually
  677. finished with its work.  Once \b WaitBlit() returns, you are free to do
  678. what you like with the blitter.
  679.  
  680. While you have the blitter, you must remember that the rest of the system
  681. cannot use it.  Therefore, \b Text() calls will not work, and your debug
  682. printf's will block if they are written to the screen.
  683. The blitter is used for disk I/O and most user interaction like gadgets,
  684. so tying
  685. up the blitter for long periods of time (longer than, say, a few
  686. milliseconds) is considered highly unfriendly.  Tying up the blitter
  687. for a second or more is grounds for lynching.
  688.  
  689. When you are finished with the blitter, you should call \b DisownBlitter()
  690. to allow everyone else to do what they like.  Remember, however, that
  691. \b DisownBlitter() might return before the blitter is finished with your
  692. last operation, so before you use any data created by the blitter,
  693. call \b WaitBlit() to allow the blitter to finish.
  694. This last point is worth rereading, as it is often
  695. the source of some subtle bugs.
  696.  
  697. Thus, your code might look like the following:
  698.  
  699. \bv
  700. OwnBlit() ;
  701. WaitBlit() ;
  702. /*
  703.  *   here you can muck with the blitter
  704.  *   until it falls off . . .
  705.  */
  706. draw_my_polygons() ; /* for example */
  707. DisownBlitter() ;
  708. /*
  709.  *   Now we want to examine the memory region
  710.  *   the blitter played with.  We wait for
  711.  *   the blit to complete.
  712.  */
  713. WaitBlit() ;
  714. copy_to_disk() ;    /* for example */
  715. $endverb
  716.  
  717. There is another way to gain access to the blitter; you can use the
  718. supplied queue blitter routines.  This is described
  719. in the ROM Kernel Manual, Volume 1, pages 2-62 through 2-65.  As of yet,
  720. I haven't had reason to use these routines; perhaps a later edition of
  721. this manuscript will have information on them.
  722.  
  723.